package org.jederik.studip.service.exceptions;

import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;

/**
 * Liefert den HTTP Status Code "500 - INTERNAL SERVER ERROR" zurück. Tritt
 * auf, wenn beim verarbeiten des Request ein Fehler passiert.
 * @author Jann-Frederik Laß
 *
 */
public class InternalServerErrorException extends WebApplicationException {

	private static final long serialVersionUID = -6435618978051383694L;

	/**
	 * Kreiert eine neue {@code InternalServerErrorException} mit dem 
	 * Fehler der sie verursacht hat.
	 * @param cause Verursachender Fehler
	 */
	public InternalServerErrorException(Throwable cause) {
		super(cause, Response.Status.INTERNAL_SERVER_ERROR);
	}

	/**
	 * Kreiert eine neue {@code InternalServerErrorException} mit Fehlermeldung.
	 * @param msg Fehlermeldung
	 */
	public InternalServerErrorException(String msg) {
		super(Response
				.status(Response.Status.INTERNAL_SERVER_ERROR)
				.entity(msg)
				.build());
	}
}
